import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 17655
 * Date: 2024-11-12
 * Time: 18:15
 */
public class test3 {
    /*
    LeetCode 560  和为k的子数组
    给你一个整数数组 nums 和一个整数 k ，请你统计并返回 该数组中和为 k 的子数组的个数 。
     */

    public int subarraySum(int[] nums, int k) {
        Map<Integer ,Integer> hash= new HashMap<Integer,Integer>();
        hash.put(0,1);
        int sum =0;
        int ret = 0;

        for(int x:nums){
            sum+=x;
            ret +=hash.getOrDefault(sum-k,0);
            hash.put(sum,hash.getOrDefault(sum,0)+1);
        }
        return ret;
    }
}
